L'Obiettivo 🎯
- Il Modello: Una rete sociale semplice.
- Gli utenti sono rappresentati come nodi in un grafo.
- Le amicizie sono archi non orientati.
- Il Compito: Elabora una serie di comandi per costruire e interrogare la rete.
La Rappresentazione 💾
Utilizzeremo un elenco di adiacenza per memorizzare il grafo.
È un array di liste. La lista all'indice `i` contiene tutti gli amici dell'utente `i`.
// Amicizie: (0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[]
]
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[]
]
Le Operazioni ⚙️
Implementerai quattro comandi:
aggiungi u vAggiungi un'amicizia.
grado uConta gli amici dell'utente u.
èamico u vVerifica se u e v sono amici.
conta_maggiore xConta gli utenti con più di x amici.